#!/usr/bin/env node

const fs = require('fs')
const path = require('path')
const { execSync } = require('child_process')

// 简化的云函数部署脚本
function deployCloudFunctions() {
  const cloudFunctionsDir = path.join(__dirname, 'cloudfunctions')
  
  if (!fs.existsSync(cloudFunctionsDir)) {
    console.error('cloudfunctions 目录不存在')
    return
  }

  const functions = fs.readdirSync(cloudFunctionsDir)
    .filter(item => fs.statSync(path.join(cloudFunctionsDir, item)).isDirectory())

  console.log('开始部署云函数...')
  console.log('找到的云函数:', functions)

  functions.forEach(funcName => {
    const funcPath = path.join(cloudFunctionsDir, funcName)
    console.log(`\n部署云函数: ${funcName}`)
    
    try {
      // 安装依赖
      console.log('安装依赖...')
      execSync('npm install', { 
        cwd: funcPath, 
        stdio: 'inherit' 
      })
      
      console.log(`✅ ${funcName} 依赖安装完成`)
      console.log(`📝 请在微信开发者工具中手动部署 ${funcName} 云函数`)
      console.log(`   1. 右键 cloudfunctions/${funcName} 目录`)
      console.log(`   2. 选择"上传并部署：云端安装依赖"`)
      
    } catch (error) {
      console.error(`❌ ${funcName} 依赖安装失败:`, error.message)
    }
  })
  
  console.log('\n🎉 所有云函数依赖安装完成！')
  console.log('📋 下一步操作：')
  console.log('   1. 打开微信开发者工具')
  console.log('   2. 右键 cloudfunctions 目录下的每个云函数文件夹')
  console.log('   3. 选择"上传并部署：云端安装依赖"')
  console.log('   4. 等待部署完成')
}

// 运行部署
if (require.main === module) {
  deployCloudFunctions()
}

module.exports = { deployCloudFunctions } 